package cn.biplam.common.struc;

/**
 * 数据探查表表结构
 * @author XiaoRuxing Sep 24, 20092:27:02 PM
 * @version 1.0
 */
public abstract class DbsStruc {

	/**
	 * 字段探查规则表
	 * SRC_FLD_DBS_RULE
	 */
	public static class SrcFldDbsRuleStru {
		/** 源系统字段探查规则ID */
		public final static String SRC_FLD_DBS_RULE_ID="SRC_FLD_DBS_RULE_ID";
		/** 源系统字段探查规则名称 */
		public final static String SRC_CODE_RULE_NAME="SRC_CODE_RULE_NAME";
		/** 源系统字段探查规则说明 */
		public final static String SRC_CODE_RULE_DESC="SRC_CODE_RULE_DESC";
		/** 源系统字段探查规则类型ID */
		public final static String SRC_CODE_RULE_TYPE_ID="SRC_CODE_RULE_TYPE_ID";
		/** 源系统标准代码表ID */
		public final static String CODE_OID="CODE_OID";
		/** 代码字段ID */
		public final static String CODE_OCID="CODE_OCID";
		/** 代码名称字段ID */
		public final static String CODE_NAME_OCID="CODE_NAME_OCID";
		/** 代码描述字段ID */
		public final static String CODE_DESC_OCID="CODE_DESC_OCID";
		/** 代码过滤SQL */
		public final static String CODE_FILTER_SQL="CODE_FILTER_SQL";
		/** 最大值 */
		public final static String MAX_VALUE="MAX_VALUE";
		/** 最小值 */
		public final static String MIN_VALUE="MIN_VALUE";
		/** 允许空 */
		public final static String ALLOW_NULL="ALLOW_NULL";
		/** 允许零值 */
		public final static String ALLOW_ZERO="ALLOW_ZERO";
		/** 最大比例 */
		public final static String MAX_PERCENT="MAX_PERCENT";
	}

	/**
	 * 数据探查字段规则关系表表结构
	 * SRC_FLD_DBS_RULE_REF
	 */
	public static class SrcFldDbsRuleRefStruc {
		/** 字段探查规则关系ID */
		public static final String SRC_FLD_DBS_RULE_REF_ID="SRC_FLD_DBS_RULE_REF_ID";
		/** 字段探查规则ID */
		public static final String SRC_FLD_DBS_RULE_ID="SRC_FLD_DBS_RULE_ID";
		/** 探查字段ID */
		public static final String DBS_COL_ID="DBS_COL_ID";
		/** 探查表ID */
		public static final String DBS_TABLE_ID="DBS_TABLE_ID";
		/** 探查字段表达式 */
		public static final String CODE_EXP="CODE_EXP";
		/** 探查过滤SQL */
		public static final String DBS_FILTER_SQL="DBS_FILTER_SQL";
		/** 源代码数量 */
		public static final String SRC_CODE_COUNT="SRC_CODE_COUNT";
		/** 匹配数量 */
		public static final String MATCH_COUNT="MATCH_COUNT";
		/** 缺失数量 */
		public static final String LOSS_COUNT="LOSS_COUNT";
		/** 空值数量 */
		public static final String EMPTY_COUNT="EMPTY_COUNT";
		/** Null值数量*/
		public static final String NULL_COUNT="NULL_COUNT";
		/** 零值数量*/
		public static final String ZERO_COUNT="ZERO_COUNT";
		/** 空值比例*/
		public static final String EMPTY_PERCENT="EMPTY_PERCENT";
		/** 探查结果 */
		public static final String DBS_RESULT="DBS_RESULT";
		/** 探查结果说明 */
		public static final String DBS_RESULT_DESC="DBS_RESULT_DESC";
		/** 规则数量 */
		public static final String RULE_COUNT="RULE_COUNT";
		/** 溢出数量 */
		public static final String OVER_FLOW_COUNT="OVER_FLOW_COUNT";
		/** 溢出记录举例 */
		public static final String OVER_FLOW_EXAMPLE="OVER_FLOW_EXAMPLE";
		/** 表规则关系数量 */
		public static final String REF_COUNT = "ref_count";
		/** 表规则字段数量 */
		public static final String COL_COUNT = "col_count";
	}

	/**
	 * 外键字段探查规则表结构
	 * SRC_TABLE_FOREIGN_REF_COL 
	 */
	public static class DbsFkFieldRueStruc{
		/** 外键字段关系ID*/
		public static final String SRC_TABLE_FOREIGN_REF_COL_ID = BaseStruc.ModelTableFkColStruc.Fk_Col_ID;
		/** 主键字段ID*/
		public static final String MAIN_TABLE_COL_ID="MAIN_TABLE_COL_ID";
		/** 外键字段ID*/
		public static final String FOREIGN_TABLE_COL_ID="FOREIGN_TABLE_COL_ID";
		/** 外键关系ID*/
		public static final String REID="REID";
		
		//以下是查询时的虚拟字段
		/** 主键字段名 */
		public static final String MAIN_TABLE_COL_NAME=BaseStruc.ModelTableFkColStruc.MAIN_TABLE_COL_NAME;
		/** 主键字段逻辑名 */
		public static final String MAIN_TABLE_COL_CN_NAME=BaseStruc.ModelTableFkColStruc.MAIN_TABLE_COL_CN_NAME;
		/** 外键字段名 */
		public static final String FOREIGN_TABLE_COL_NAME=BaseStruc.ModelTableFkColStruc.FOREIGN_TABLE_COL_NAME;
		/** 外键字段逻辑名 */
		public static final String FOREIGN_TABLE_COL_CN_NAME=BaseStruc.ModelTableFkColStruc.FOREIGN_TABLE_COL_CN_NAME;
	}

	/**
	 * 外键表探查规则表结构
	 * SRC_TABLE_FOREIGN_REF
	 */
	public static class DbsFkRuleStruc{
		/** 外键关系ID*/
		public static final String REID = "REID";
		/** 主键表ID*/
		public static final String MAIN_TABLE_ID="MAIN_TABLE_ID";
		/** 外键表ID*/
		public static final String FOREIGN_TABLE_ID="FOREIGN_TABLE_ID";
		/** 外键关系类型 */
		public static final String SRC_RE_TYPE="RE_TYPE";
		/** 外键探查标志 */
		public static final String FK_FLAG="FK_FLAG";
		/** 外键探查附加标志 */
		public static final String FK_EXTRA_FLAG="FK_EXTRA_FLAG";
		/** 探查结果*/
		public static final String DBS_RESULT="DBS_RESULT";
		/** 探查结果说明*/
		public static final String DBS_RESULT_DESC="DBS_RESULT_DESC";
		/** 物理外键结果标志*/
		public static final String PHYSICAL_FK="PHYSICAL_FK";
		/** 外键完整结果标志*/
		public static final String FK_INTEGRITY="FK_INTEGRITY";
		/** 存在空值结果标志*/
		public static final String FK_EXIST_EMPTY="FK_EXIST_EMPTY";
		/** 空值数量结果*/
		public static final String FK_EMPTY_COUNT="FK_EMPTY_COUNT";
		/** 缺失记录数 */
		public static final String FK_LACK_COUNT="FK_LACK_COUNT";
		/** 总记录数 */
		public static final String FK_TOTAL_COUNT ="FK_TOTAL_COUNT";
		/** 缺失外键举例*/
		public static final String LACK_FK_EXAMPLE="LACK_FK_EXAMPLE";
	}

	/**
	 * 数据探查—源系统代码表
	 * SRC_CODE
	 */
	public static class DbsSrcCodeStruc{
		/** 代码ID */
		public static final String SRC_CODE_ID="SRC_CODE_ID";
		/** 源系统字段探查规则ID */
		public static final String SRC_CODE_RULE_ID="SRC_CODE_RULE_ID";
		/** 代码值 */
		public static final String CODE_VALUE="CODE_VALUE";
		/** 代码名称 */
		public static final String CODE_NAME="CODE_NAME";
		/** 代码描述 */
		public static final String CODE_DESC="CODE_DESC";
	}

	/**
	 * 源系统代码探查项表
	 * SRC_CODE_DBS_ITEM
	 */
	public static class SrcCodeDbsItemStruc{
		/** 代码探查项ID */
		public static final String SRC_CODE_DBS_ITEM_ID="SRC_CODE_DBS_ITEM_ID";
		/** 代码字段关系ID */
		public static final String CODE_REF_ID="CODE_REF_ID";
		/** 代码ID */ 
		public static final String CODE_VALUE="CODE_VALUE";
		/** 匹配标志  */
		public static final String MATCH_FLAG="MATCH_FLAG";
		/** 记录数量 */
		public static final String RECORD_COUNT="RECORD_COUNT";
	}

	/**
	 * 数据探查字段规则索引表
	 * SRC_DBS_RULE_TREE 
	 */
	public static class SrcDbsRuleTreeStruc{
		/** 规则索引ID */
		public static final String RULE_INDEX_ID="RULE_INDEX_ID";
		/** 规则索引父Id */
		public static final String RULE_INDEX_PARENT_ID="RULE_INDEX_PARENT_ID";
		/** 规则索引名称 */
		public static final String RULE_INDEX_NAME="RULE_INDEX_NAME";
		/** 规则索引描述 */
		public static final String RULE_INDEX_DESC="RULE_INDEX_DESC";
		/** 索引排序号 */
		public static final String SEQUENCE="SEQUENCE";
		/** 索引类型 */
		public static final String INDEX_TYPE="INDEX_TYPE";
		/** 节点级别 */
		public static final String INDEX_LEVEL="INDEX_LEVEL";
		/** 索引节点操作类型 */
		public static final String OPERATOR_TYPE="OPERATOR_TYPE";
	}

	/**
	 * 源系统探查表表结构
	 * SRC_MODEL_TABLE
	 */
	public static class DbsTabRuleStruc{
		/** 主键ID，即源系统表ID */
		public static String OID="oid";
		/** 主键唯一 */
		public static String PK_UNIQUE = "pk_unique";
		/** 主键是否存在空值 */
		public static String EXIST_EMPTY = "exist_empty";
		/** 主键总记录数 */
		public static String TOTAL_RECORD = "total_record";
		/** 主键空值数量 */
		public static String EMPTY_COUNT = "empty_count";
		/** 重复主键举例 */
		public static String REPEAT_PK_EXAMPLE = "repeat_pk_example";
		/** 外键完整性*/
		public static String FK_INTEGRITY = "fk_integrity";
		/** 外键总数量*/
		public static String TOTAL_FK = "total_fk";
		/** 外键总通过数量*/
		public static String INTEGRITY_FK = "integrity_fk";
		/** 外键是否存在空值*/
		public static String FK_EXIST_EMPTY = "fk_exist_empty";
		/** 外键空值数量*/
		public static String FK_EMPTY_COUNT = "fk_empty_count";
		/** 表数据探查结果*/
		public static String DBS_TABLE_RESULT = "dbs_table_result";
		/** 表数据探查结果说明*/
		public static String DBS_TABLE_RESULT_DESC = "dbs_table_result_desc";
		/** 主键数据探查结果*/
		public static String DBS_PK_RESULT = "dbs_pk_result";
		/** 主键数据探查结果说明*/
		public static String DBS_PK_RESULT_DESC = "dbs_pk_result_desc";
		/** 外键数据探查结果*/
		public static String DBS_FK_RESULT = "dbs_fk_result";
		/** 外键数据探查结果说明*/
		public static String DBS_FK_RESULT_DESC = "dbs_fk_result_desc";
		/** 字段数据探查结果*/
		public static String DBS_FIELD_RESULT = "dbs_field_result";
		/** 字段数据探查结果说明*/
		public static String DBS_FIELD_RESULT_DESC = "dbs_field_result_desc";
	}

	/**
	 * 数据探查任务表表结构
	 * DBS_TASK
	 */
	public static class DbsTaskStruc{
		/** 探查任务ID */
		public static String TASK_ID="TASK_ID";
		/** 任务名称 */
		public static String TASK_NAME="TASK_NAME";
		/** 任务描述 */
		public static String TASK_DESC="TASK_DESC";
		/** 探查任务主题(业务系统的根主题) */
		public static String MODEL_THEME="MODEL_THEME";
		/** 探查任务状态 */
		public static String STATUS="STATUS";
		/** 探查开始时间 */
		public static String START_TIME="START_TIME";
		/** 探查结束时间 */
		public static String END_TIME="END_TIME";
		/** 执行结果 */
		public static String DBS_RESULT="DBS_RESULT";
		/** 用户ID */
		public static String USERID="USERID";
	}

	/**
	 * 数据探查任务表范围表
	 * DBS_TASK_TABLE
	 */
	public static class DbsTaskTabStruc{
		/** 探查任务表ID */
		public static String DBS_TASK_TABLE_ID="DBS_TASK_TABLE_ID";
		/** 任务ID*/
		public static String TASK_ID="TASK_ID";
		/** 当前记录排序号 */
		public static String ORID="ORID";
		/** 源系统表ID*/
		public static String OID="OID";
		/** 主键探查标志*/
		public static String PK_FLAG="PK_FLAG";
		/** 外键探查标志*/
		public static String FK_FLAG="FK_FLAG";
		/** 字段探查标志 */
		public static String FIELD_FLAG="FIELD_FLAG";
		/** 代码标志 */
		public static String CODE_FLAG="CODE_FLAG";
		/** 内容标志 */
		public static String CONTENT_FLAG="CONTENT_FLAG";
		/** 状态 */
		public static String STATUS="STATUS";
		/** 探查结果*/
		public static String DBS_RESULT="DBS_RESULT";
	}

	/**
	 * 字段探查结果统计表
	 */
	public static class FactFldDbsRuleStruc{
		/** 字段探查规则关系ID */
		public static String DBS_FLD_RULE_REF_ID = "DBS_FLD_RULE_REF_ID"; 
		/** 探查规则ID */
		public static String DBS_RULE_ID = "DBS_RULE_ID";          
		/** 探查表ID */
		public static String DBS_TABLE_ID = "DBS_TABLE_ID";       
		/** 探查通过字段规则项个数 */
		public static String PASS_DBS_NUMB = "PASS_DBS_NUMB";       
		/** 探查未通过字段规则项个数 */
		public static String FAILD_DBS_NUMB = "FAILD_DBS_NUMB";    
	}
	
	/**
	 * 源系统模型对象层次关系表
	 */
	public static class SrcModelObjRelaStruc{
		/** 对象ID */
		public static String ID = "ID";     
		/** 父对象ID */
		public static String PARENT_ID = "PARENT_ID";    
		/** 名称 */
		public static String NAME = "NAME";        
		/** 描述 */
		public static String O_DESC = "O_DESC";      
		/** 排序号 */
		public static String SEQUENCE = "SEQUENCE";    
	}
}
